home *** CD-ROM | disk | FTP | other *** search
-
- LAVI V1.3 ENERO 1994
- LAboratorio de VIrus
- (c)1994 FaTHeR MaC
- Industria Argentina
-
- LAVI es un generador de virus al estilo VCL con las siguientes
- características:
-
- 1- Los virus generados son del tipo residente.
- 2- Infectan solamente archivos .COM.
- 3- Si se desea, el COMMAND.COM puede ser infectado.
- 4- Pueden infectar archivos al ejecutarlos, abrirlos o ambas.
- 5- Los efectos del virus son programados por el usuario.
- 6- El virus puede estar encriptado.
- 7- Opcionalmente, puede intercalarse codigo muerto en el fuente.
- 8- Puede modificarse la rutina de autochequeo del virus.
- 9- Tambien se puede incluir una rutina de encriptado externa.
-
- Nota: como sería de esperar, no me hago responsable del indebido uso que
- pueda dársele a este programa.
-
- Al ejecutar LAVI:
-
- Para que el programa funcione, solo se necesita el archivo LAVI.EXE,
- ademas del A86.COM en el mismo directorio o en el PATH, para que el
- programa pueda ensamblar el fuente y generar el COM. Junto con el
- paquete se incluyen algunas rutinas que pueden utilizarse en los virus,
- con los siguientes límites:
-
- El archivo generado no puede superar los 2048 bytes (ver APENDICE para
- ver como solucionar esto).
- Si se desea que el programa continue con su ejecucion luego de ejecutada
- la rutina, debe incluirse un RET al final de la misma, y tambien se
- deben resguardar los registros de segmento en caso de que la rutina los
- modifique.
-
- Al ejecutar LAVI.EXE, se nos harán una serie de preguntas con respecto a
- las caracteristicas del virus deseado:
-
- Nombre del virus: Solo es para incluirlo en el fuente
-
- Autor: Se incluye tambien en el fuente
-
- Nombre del archivo a generar: Es el archivo fuente (.8) o el ejecutable
- (.COM) que serán generados por el programa, NO debe incluirse ninguna
- extensión, y por supuesto, no debe superar los 8 caracteres.
-
- Efecto por fechas: Si queremos que el virus se active al ejecutar un
- archivo infectado en alguna fecha determinada, debemos responder 'S' a
- la pregunta. Luego nos preguntará el día y el mes en los cuales se
- mostrará el efecto y a continuación el nombre de la rutina a la que
- corresponde el efecto (ej: TEXTO.RTN).
-
- Efecto por azar: Si queremos que el virus se active al azar al ejecutar
- un archivo infectado, respondamos 'S'. Luego se nos preguntará la
- probabilidad de que ello ocurra, por ej., si respondemos '50', existirá
- una probabilidad del 50% de que se produzca el efecto deseado. A
- continuación nos preguntará el nombre de la rutina que contiene el
- efecto.
-
- Infectar COMMAND.COM: Si queremos que el interpréte de comandos pueda
- ser infectado por el virus, respondamos 'S'.
-
- Infectar al ejecutar: Si queremos que una vez residente el virus
- contamine archivos mientras se ejecutan, respondamos 'S'.
-
- Infectar al abrir: Si queremos que el virus infecte archivos al abrirlos
- (por ejemplo al SCANearlos, o al utilizar PKZIP o ARJ), respondamos 'S'.
-
- Las preguntas que vienen a continuacion pueden ser salteadas si no se
- conoce del tema, aunque sus funciones son muy útiles:
-
- Caracter de identificacion: los archivos infectados son identificados
- por algun caracter ASCII, para evitar que sean re-infectados; este
- caracter puede ser modificado. Valor por defecto: 'L'.
-
- Clave de encriptado: si queremos que el virus este encriptado, deberemos
- especificar un numero de 0 a 255 que corresponde a la clave de
- encriptado. Aclaro que aunque el .COM generado por el programa no
- esta encriptado, las sucesivas generaciones del virus si lo estarán.
- Valor por defecto: 0.
-
- Rutina de residencia: para que el virus no se instale una y otra vez en
- memoria, se adopta una funcion no utilizada del D.O.S. como propia, y se
- la utiliza para realizar dicha identificación. Al elegir este valor debe
- tenerse en cuenta que al llamar a la INT21 con dicho valor en el
- registro AH, a la vuelta de la llamada el valor de AH no tiene que haber
- cambiado, para que el virus asuma que no ha sido instalado en memoria.
- Valor por defecto: 0BBh.
-
- Rutina de encriptado/desencriptado: si no se especifica una rutina
- externa de encriptado/desencriptado, el virus utilizará la que tiene
- incorporada el programa. Si se desea que el virus se encripte de alguna
- manera mas compleja, puede especificarse el nombre de una rutina
- externa, que tenga en cuenta lo siguiente:
-
- Segmento del codigo a encriptar: ES
- Offset del codigo a encriptar:
- Comienzo: OFFSET COMIENZO + BP
- Longitud: OFFSET ENCRIPTAR - OFFSET COMIENZO
-
- Codigo redundante: De no existir esta opción, los virus generados por
- LAVI podrían ser facilmente reconocidos por algun string generico
- asociado a ellos; lo que hace esta opcion es intercalar en el código
- fuente instrucciones que no realizan ninguna funcion en particular, pero
- que hacen único a cada virus generado con el programa. Es decir, si
- especificamos exactamente las mismas opciones en dos virus que
- realicemos, y respondemos que 'N' a esta pregunta, ambos virus serán
- idénticos, pero si respondemos que 'S', ambos virus se comportaran de la
- misma manera, pero tendrán longitud y strings diferentes. Esta opción
- tiene dos desventajas: 1) Los virus ocupan mas espacio y 2) El código
- fuente generado se vuelve un poco confuso si se lo quiere modificar.
-
- Despues de respondidas todas las preguntas anteriores, el programa
- pedirá que le especifiquemos lo que queremos generar:
-
- Fuente: Se creará un archivos del tipo VIRUS.8, ensamblable directamente
- con el A86.
-
- COM: Se ensamblara el fuente con el A86 (que debe estar en el mismo
- directorio o en el PATH), pudiendose ver los resultados del ensamble en
- el archivo A86.RPT.
-
- Abortar: Retorna al DOS.
-
- Después nos preguntará si queremos generar otro virus, retornando al
- D.O.S. si no es así.
-
- APENDICE A: RUTINAS
-
- Con el paquete se incluyen varias rutinas que pueden ser utilizadas por
- el programa, aunque el usuario puede generar las suyas propias, teniendo
- en cuenta que las mismas deben terminar con RET (si es que se desea
- proseguir con la ejecución del huesped), deben preservar los registros
- de segmento.
- Una vez ensamblado, el virus no debe ocupar mas de 2048 bytes para que
- funcione correctamente. Si nuestras rutinas requieren de mas espacio,
- esto puede modificarse cambiando los siguientes valor del fuente:
-
- PARAGRAFOS EQU ... Parrafos de 16 bytes, es decir, LONGITUD/16
- PARABYTES EQU ... La LONGITUD propiamente dicha
-
- Estos valores corresponden a la cantidad de memoria que queda residente
- una vez activado el virus.
-
- APENDICE B: SOBRE LOS VIRUS GENERADOS
-
- Los virus generados son del tipo appending (se graban al final del
- archivo), son residentes (toman la INT21, funcion 4Bh o 3Dh, o ambas),
- tambien toman la INT24 para evitar el mensaje de error crítico y no
- alteran la fecha ni los atributos de los archivos infectados, los
- archivos no son reinfectados y el virus solo mantiene una copia de sí
- mismo en memoria.
-
- APENDICE B: SOBRE LOS ANTIVIRUS
-
- Los virus generados no son detectados por el SCANV109, ni por el F-PROT
- 2.10, ni tampoco por el TBSCAN V609. Si escaneamos con este último un
- archivo generado por el programa, va a ser detectado como "virus
- desconocido", pero si especificamos una clave de encriptado distinta de
- 0, las sucesivas generaciones del virus no van a ser detectadas por este
- programa. Si creamos algun virus utilizando la opción de "codigo
- redundante", éste no va a poder ser detectado como un virus generado por
- LAVI (al menos no utilizando un string), sino que serán necesarios
- distintos strings para cada virus generado.
-
- ¡Que lo disfruten!
-
- FaTHeR MaC (c)1994
-
- PD: ¡Reporten todos los BUGS que encuentren!
-